package com.easyJavaDemo.service;

import com.easyJavaDemo.entity.po.Goods;
import com.easyJavaDemo.entity.query.GoodsQuery;
import com.easyJavaDemo.entity.vo.PaginationResultVO;
import java.util.List;

/**
 * 商品表Service接口
 */
public interface GoodsService {

	/**
	 * 新增
	 */
	int add(Goods goods);

	/**
	 * 新增或修改
	 */
	int addOrUpdate(Goods goods);

	/**
	 * 批量新增
	 */
	long addBatch(List<Goods> list);

	/**
	 * 批量新增或修改
	 */
	long addOrUpdateBatch(List<Goods> list);

	/**
	 * 根据参数获取集合
	 */
	List<Goods> getList(GoodsQuery goodsQuery);

	/**
	 * 根据参数查询数量
	 */
	long getCount(GoodsQuery goodsQuery);

	/**
	 * 分页查询
	 */
	PaginationResultVO<Goods> getPageList(GoodsQuery goodsQuery);

	/**
	 * 根据Id查询
	 */
	Goods getById(Integer id);

	/**
	 * 根据Id修改
	 */
	int updateById(Goods goods, Integer id);

	/**
	 * 根据Id删除
	 */
	int deleteById(Integer id);

	/**
	 * 根据NameAndPrice查询
	 */
	Goods getByNameAndPrice(String name, Integer price);

	/**
	 * 根据NameAndPrice修改
	 */
	int updateByNameAndPrice(Goods goods, String name, Integer price);

	/**
	 * 根据NameAndPrice删除
	 */
	int deleteByNameAndPrice(String name, Integer price);

}
